﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
namespace BattleCity
{
    class Examinar
    {
        //
        // Recorrer recursivamente los directorios
        // Para mostrar los ficheros de un directorio
        // y los de los subdirectorios que ese directorio contenga.
        //

        public static List<string> recursivoDir(string elDirectorio)
        {
            List<string> lista = new List<string>();
            recorrerDir(lista, elDirectorio, 0);
            return lista;
        }

        private static void recorrerDir(List<string> lista, string elDir, int nivel)
        {
            // La sangría del nivel examinado
            string sangria = new string(' ', nivel);

            // Los subdirectorios del directorio indicado
            string[] directorios = Directory.GetDirectories(elDir);
            string[] ficheros = Directory.GetFiles(elDir, "*.XML");

            foreach (string ss in ficheros)
            {
                lista.Add(ss);
            }

            // Si tiene subdirectorios, recorrerlos
            if (directorios.Length > 0)
            {
                foreach (string d in directorios)
                {
                    // Llamar de forma recursiva a este mismo método
                    recorrerDir(lista, d, nivel + 2);
                }
            }
        }
    }
}
